package com.ym.medical.domain.vo;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.ym.medical.domain.entity.BankcardEntity;
import com.ym.medical.domain.entity.CertificateImageEntity;
import com.ym.medical.domain.entity.DoctorDetailsEntity;
import com.ym.medical.enums.DoctorJobTitle;
import com.ym.medical.enums.HospitalLevelEnum;
import com.ym.medical.enums.UserCardTypeEnum;
import com.ym.medical.enums.UserSexEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author dai
 * @create 2019-05-06 11:45
 **/

@Data
@ApiModel("医生简介")
public class ResultDocDetailVo  {
    @ApiModelProperty("医生详情信息")
    private DoctorDetailsEntity doctorDetails;

    /**
     * 医生ID
     */
    @ApiModelProperty("医生ID")
    private Long userId;

    /**
     * 医生图片
     */
    @ApiModelProperty("医生照片")
    private String doctPhotoUrl;
    /**
     * 医生姓名
     */
    @ApiModelProperty("医生姓名")
    private String realName;
    /**
     * 医生科室
     */
    @ApiModelProperty("医生科室")
    private String deptName;

    /**
     * 医生职称名称
     */
    @ApiModelProperty("医生职称名称")
    @JsonSerialize(converter = DoctorJobTitle.Covert.class)
    private String jobTitle;

    /**
     * 所属医院等级
     */
    @ApiModelProperty("所属医院等级")
    @JsonSerialize(converter = HospitalLevelEnum.Covert.class)
    private String hosLevel;

    /**
     * 所属医院名称
     */
    @ApiModelProperty("所属医院名称")
    private String hosName;

    @ApiModelProperty("医生擅长")
    private String goodsLabel;

    @ApiModelProperty("医生标签")
    private String patientLabel;
    /**
     * 回答次数
     */
    @ApiModelProperty("回答次数")
    private String num;
    /**
     * 推荐指数
     */
    @ApiModelProperty("推荐指数")
    private String recommentRate;

    @ApiModelProperty("是否已关注(true false)")
    private boolean attention;

    @ApiModelProperty("通讯录id")
    private Long attentionId;

    @ApiModelProperty("诊所介绍")
    private String hosDescribe;

    @ApiModelProperty("是否接诊")
    private String accept;

    @ApiModelProperty("是否接诊")
    private String acceptName;

    @ApiModelProperty("云信账户")
    private String accId;

    @ApiModelProperty("云信密码")
    private String token;

    @ApiModelProperty("图文最低价")
    private BigDecimal textMinPrice;

    @ApiModelProperty("电话最低价")
    private BigDecimal phoneMinPrice;

    @ApiModelProperty("医院经度")
    private Double hosLongitude;

    @ApiModelProperty("医院纬度")
    private Double hosLatitude;

    @ApiModelProperty("患者距离医院的距离")
    private String distance;

    @ApiModelProperty("医生图文义诊价格")
    private BigDecimal textClinicPrice;

    @ApiModelProperty("义诊折扣")
    private BigDecimal textClinicRebate;

    @ApiModelProperty("义诊剩余名额")
    private int ClinicLastTime;

    @ApiModelProperty("某个医生是否可义诊")
    private Boolean isClinic;

    @ApiModelProperty("医生云信账号")
    private List<String> yxAccId;
    @ApiModelProperty("医生工作室id")
    private Long dsId;
    /*医学教育背景*/
    @ApiModelProperty("医学教育背景")
    private String eduBack;
    /*学术研究成果/获奖*/
    @ApiModelProperty("学术研究成果/获奖")
    private String achiAward;
    /*医生寄语*/
    @ApiModelProperty("医生寄语")
    private String doctMessage;
    @ApiModelProperty("性别")
    @JsonSerialize(converter = UserSexEnum.Covert.class)
    private String sex;
    @ApiModelProperty("性别名称Key=UserSexEnum")
    private String sexName;
    @ApiModelProperty("手机号")
    private String phoneNo;
    @ApiModelProperty("地址")
    private String contactAddr;
    @ApiModelProperty("二维码")
    private String qrCode;
    @ApiModelProperty("身份类型")
    @JsonSerialize(converter = UserCardTypeEnum.Covert.class)
    private String cardType;
    @ApiModelProperty("身份类型名称Key=UserCardTypeEnum")
    private String cardTypeName;
    @ApiModelProperty("身份证号")
    private String cardNo;

    /*医生图文定价规则*/
    @ApiModelProperty("医生图文定价规则")
    private List<TextRuleVo> textRuleModels;

    @ApiModelProperty("医生证书信息")
    private List<CertificateImageEntity> certificateImages;

    @ApiModelProperty("医生的银行卡")
    private List<BankcardEntity> bankcards;

    @ApiModelProperty("医生服务项")
    private DoctorServiceItemsVo doctorServiceItemsVo;

}
